#include <Wire.h>

// ITG3205 I2C 地址
#define ITG3205_ADDRESS 0x68

void setup() {
  Serial.begin(9600);
  Wire.begin();

  // 初始化 ITG3205
  Wire.beginTransmission(ITG3205_ADDRESS);
  Wire.write(0x3E); // 设置寄存器为配置寄存器
  Wire.write(0x00); // 将配置寄存器设置为默认值
  Wire.endTransmission();
}

void loop() {
  // 读取 ITG3205 的角速度数据
  Wire.beginTransmission(ITG3205_ADDRESS);
  Wire.write(0x1D); // 设置寄存器为 X 轴角速度寄存器
  Wire.endTransmission(false);
  Wire.requestFrom(ITG3205_ADDRESS, 6); // 读取 6 个字节的数据
  int16_t x = Wire.read() << 8 | Wire.read();
  int16_t y = Wire.read() << 8 | Wire.read();
  int16_t z = Wire.read() << 8 | Wire.read();

  // 将 ITG3205 的角速度数据打印到串口监视器
  Serial.print("X: ");
  Serial.print(x);
  Serial.print("  Y: ");
  Serial.print(y);
  Serial.print("  Z: ");
  Serial.println(z);

  delay(100);
}